package com.example.springboot.service;

import com.example.springboot.pojo.User;

import com.github.pagehelper.PageInfo;

import java.util.ArrayList;
import java.util.Map;

/**
 *  用户信息表的业务层
 */
public interface UserService {


  /**
   * 业务层的 查询用户信息方法
   * @return 返回的用户信息表中内容
   */
  ArrayList<User> getUserInfo();


  /**
   * 根据用户ID来查询
   * @param id 用户ID
   * @return 用户信息
   */
  User findByID(Integer id);



  /**
   * 添加用户信息
   * @return 返回受影响的行数
   */
  Integer insertUser(User user);


  /**
   * 根据用户ID删除用户信息
   * @param id 用户ID
   * @return  返回受影响的行数
   */
  Integer deleteUserByName(Integer id);

  /**
   * 修改用户信息
   * @return
   * @param id  用户ID
   * @param name  用户名称
   * @param age 用户年龄
   * @param email   用户Email
   */
  Integer updateUser(Integer id,String name,Integer age,String email);


  /**
   * 分页查询用户信息表
   * @param currentPage     当前页数
   * @param pageSize      每页数据大小
   * @return  用户集合
   */
  ArrayList<User> findUserByPage(Integer currentPage,Integer pageSize);


  /**
   * 联表查询,    和wzf_user_scope联表查询
   * @return    连表查询后的用户集合
   */
  ArrayList<User> findUserByUserScope();


  /**根据年龄排序的操作
   * @return  用户集合
   */
  ArrayList<User> socketUserByAge();
}
